From 8ac13a68b339b6eee14ed4de4128f0d1df67e61d Mon Sep 17 00:00:00 2001 From: oliskoli Date: Thu, 7 Dec 2006 22:23:35 +0000 Subject: [PATCH] Welcome gtm in the world of gbfile api. Add 'gzipped'-sample to testo. --- gtm.c | 416 ++++++++++++++++------------------------ reference/sample.gtm.gz | Bin 0 -> 56931 bytes testo | 10 + 3 files changed, 178 insertions(+), 248 deletions(-) create mode 100644 reference/sample.gtm.gz diff --git a/gtm.c b/gtm.c index 379eb29a9..a1f7a2a5e 100644 --- a/gtm.c +++ b/gtm.c @@ -21,7 +21,7 @@ #include "defs.h" #include "jeeps/gpsmath.h" -static FILE *fd, *ofd; +static gbfile *file_in, *file_out; static int indatum; static int wp_count; static int ws_count; @@ -49,78 +49,35 @@ static int start_new; /* Read functions, according to specification. */ -static void -fread_discard(FILE *fd, int len) -{ - char buf[1024]; - fread(buf, 1, len, fd); -} - -static unsigned char -fread_byte(FILE *fd) -{ - unsigned char buf[1]; - fread(buf, 1, 1, fd); - return buf[0]; -} +#define fread_discard(a,b) gbfseek(a, (b), SEEK_CUR) +#define fread_byte(a) (unsigned char) gbfgetc(a) #if 0 /* not used */ static short int -fread_bool(FILE *fd) +fread_bool(gbfile *fd) { char buf[2]; - fread(buf, 2, 1, fd); + gbfread(buf, 2, 1, fd); return le_read16(buf) ? 1 : 0; } #endif -static short int -fread_integer(FILE *fd) -{ - char buf[2]; - fread(buf, 2, 1, fd); - return le_read16(buf); -} - -static int -fread_long(FILE *fd) -{ - char buf[4]; - fread(buf, 4, 1, fd); - return le_read32(buf); -} - -static float -fread_single(FILE *fd) -{ - unsigned char buf[4]; - float f; - int i; - fread(buf, 4, 1, fd); - i = le_read32(buf); - memcpy(&f, &i, 4); - return f; -} - -static double -fread_double(FILE *fd) -{ - char buf[8]; - fread(buf, 8, 1, fd); - return le_read_double(buf); -} +#define fread_integer(a) gbfgetint16(a) +#define fread_long(a) gbfgetint32(a) +#define fread_single(a) gbfgetflt(a) +#define fread_double(a) gbfgetdbl(a) static char * -fread_string(FILE *fd) +fread_string(gbfile *fd) { - int len = fread_integer(fd); char *val; + int len = fread_integer(fd); if (len == 0) return NULL; val = xmalloc(len+1); - fread(val, 1, len, fd); + gbfread(val, 1, len, fd); while (len != 0 && val[len-1] == ' ') len--; val[len] = 0; @@ -128,19 +85,21 @@ fread_string(FILE *fd) } static void -fread_string_discard(FILE *fd) +fread_string_discard(gbfile *fd) { char *temp = fread_string(fd); + if (temp != NULL) { xfree(temp); } } static char * -fread_fixedstring(FILE *fd, int len) +fread_fixedstring(gbfile *fd, int len) { char *val = xmalloc(len+1); - fread(val, 1, len, fd); + + gbfread(val, 1, len, fd); while (len != 0 && val[len-1] == ' ') len--; val[len] = 0; @@ -150,68 +109,28 @@ fread_fixedstring(FILE *fd, int len) /* Write functions, according to specification. */ static void -fwrite_null(FILE *fd, int len) +fwrite_null(gbfile *fd, int len) { char buf[1024]; - memset(buf, 0, len); - fwrite(buf, 1, len, fd); -} -static void -fwrite_byte(FILE *fd, unsigned char val) -{ - fwrite(&val, 1, 1, fd); -} - -static void -fwrite_bool(FILE *fd, short int val) -{ - char buf[2]; - buf[0] = buf[1] = val ? 0xff : 0x00; - fwrite(buf, 2, 1, fd); -} - -static void -fwrite_integer(FILE *fd, short int val) -{ - char buf[2]; - le_write16(buf, val); - fwrite(buf, 2, 1, fd); -} - -static void -fwrite_long(FILE *fd, int val) -{ - char buf[4]; - le_write32(buf, val); - fwrite(buf, 4, 1, fd); -} - -static void -fwrite_single(FILE *fd, float val) -{ - char buf[4]; - int i; - memcpy(&i, &val, 4); - le_write32(buf, i); - fwrite(buf, 4, 1, fd); + memset(buf, 0, len); + gbfwrite(buf, 1, len, fd); } -static void -fwrite_double(FILE *fd, double val) -{ - char buf[8]; - le_write_double(buf,val); - fwrite(buf, 8, 1, fd); -} +#define fwrite_byte(a,b) gbfputc((signed char)(b), a) +#define fwrite_bool(a,b) gbfputuint16((b) ? 0xffff : 0, a) +#define fwrite_integer(a,b) gbfputint16((b), a) +#define fwrite_long(a,b) gbfputint32((b), a) +#define fwrite_single(a,b) gbfputflt((b), a) +#define fwrite_double(a,b) gbfputdbl((b), a) static void -fwrite_string(FILE *fd, const char *str) +fwrite_string(gbfile *fd, const char *str) { if (str && str[0]) { int len = strlen(str); fwrite_integer(fd, len); - fwrite(str, 1, len, fd); + gbfwrite(str, 1, len, fd); } else { fwrite_integer(fd, 0); @@ -219,15 +138,16 @@ fwrite_string(FILE *fd, const char *str) } void -fwrite_fixedstring(FILE *fd, const char *str, int fieldlen) +fwrite_fixedstring(gbfile *fd, const char *str, int fieldlen) { int len = str ? strlen(str) : 0; + if (len > fieldlen) len = fieldlen; if (str) - fwrite(str, 1, len, fd); + gbfwrite(str, 1, len, fd); for (; len != fieldlen; len++) - fputc(' ', fd); + gbfputc(' ', fd); } /* Auxiliar functions */ @@ -442,9 +362,9 @@ gtm_rd_init(const char *fname) { int version; char *name; - fd = xfopen(fname, "rb", MYNAME); - version = fread_integer(fd); - name = fread_fixedstring(fd, 10); + file_in = gbfopen_le(fname, "rb", MYNAME); + version = fread_integer(file_in); + name = fread_fixedstring(file_in, 10); if (version == -29921) fatal(MYNAME ": Uncompress the file first\n"); if (strcmp(name, "TrackMaker") != 0) @@ -454,31 +374,31 @@ gtm_rd_init(const char *fname) xfree(name); /* Header */ - fread_discard(fd, 15); - ws_count = fread_long(fd); - fread_discard(fd, 4); - wp_count = fread_long(fd); - tr_count = fread_long(fd); - rt_count = fread_long(fd); - fread_discard(fd, 16); - im_count = fread_long(fd); - ts_count = fread_long(fd); - fread_discard(fd, 28); - fread_string_discard(fd); - fread_string_discard(fd); - fread_string_discard(fd); - fread_string_discard(fd); + fread_discard(file_in, 15); + ws_count = fread_long(file_in); + fread_discard(file_in, 4); + wp_count = fread_long(file_in); + tr_count = fread_long(file_in); + rt_count = fread_long(file_in); + fread_discard(file_in, 16); + im_count = fread_long(file_in); + ts_count = fread_long(file_in); + fread_discard(file_in, 28); + fread_string_discard(file_in); + fread_string_discard(file_in); + fread_string_discard(file_in); + fread_string_discard(file_in); /* User Grid and Datum */ - fread_discard(fd, 34); - set_datum(fread_integer(fd)); - fread_discard(fd, 22); + fread_discard(file_in, 34); + set_datum(fread_integer(file_in)); + fread_discard(file_in, 22); } static void gtm_rd_deinit(void) { - fclose(fd); + gbfclose(file_in); } static void count_route_waypts(const waypoint *wpt) { rt_count++; } @@ -491,58 +411,58 @@ gtm_wr_init(const char *fname) track_disp_all(NULL, NULL, count_track_waypts); route_disp_all(NULL, NULL, count_route_waypts); - ofd = xfopen(fname, "wb", MYNAME); + file_out = gbfopen_le(fname, "wb", MYNAME); /* little endian */ /* Header */ - fwrite_integer(ofd, 211); - fwrite_fixedstring(ofd, "TrackMaker", 10); - fwrite_byte(ofd, 0); - fwrite_byte(ofd, 0); - fwrite_byte(ofd, 8); - fwrite_byte(ofd, 0); - fwrite_byte(ofd, 0); - fwrite_byte(ofd, 0); - fwrite_byte(ofd, 0); - fwrite_long(ofd, 0); - fwrite_long(ofd, 16777215); - fwrite_long(ofd, waypt_count() ? 4 : 0); /* num waypoint styles */ - fwrite_long(ofd, 0); - fwrite_long(ofd, waypt_count()); /* num waypoints */ - fwrite_long(ofd, tr_count); - fwrite_long(ofd, rt_count); - fwrite_single(ofd, 0); /* maxlon */ - fwrite_single(ofd, 0); /* minlon */ - fwrite_single(ofd, 0); /* maxlat */ - fwrite_single(ofd, 0); /* minlat */ - fwrite_long(ofd, 0); - fwrite_long(ofd, track_count()); /* num tracklog styles */ - fwrite_single(ofd, 0); - fwrite_single(ofd, 0); - fwrite_bool(ofd, 0); - fwrite_bool(ofd, 0); - fwrite_bool(ofd, 0); - fwrite_bool(ofd, 0); - fwrite_bool(ofd, 0); - fwrite_bool(ofd, 0); - fwrite_bool(ofd, 0); - fwrite_bool(ofd, 0); - fwrite_bool(ofd, 0); - fwrite_bool(ofd, 0); - fwrite_string(ofd, "Times New Roman"); - fwrite_string(ofd, ""); - fwrite_string(ofd, ""); - fwrite_string(ofd, ""); + fwrite_integer(file_out, 211); + fwrite_fixedstring(file_out, "TrackMaker", 10); + fwrite_byte(file_out, 0); + fwrite_byte(file_out, 0); + fwrite_byte(file_out, 8); + fwrite_byte(file_out, 0); + fwrite_byte(file_out, 0); + fwrite_byte(file_out, 0); + fwrite_byte(file_out, 0); + fwrite_long(file_out, 0); + fwrite_long(file_out, 16777215); + fwrite_long(file_out, waypt_count() ? 4 : 0); /* num waypoint styles */ + fwrite_long(file_out, 0); + fwrite_long(file_out, waypt_count()); /* num waypoints */ + fwrite_long(file_out, tr_count); + fwrite_long(file_out, rt_count); + fwrite_single(file_out, 0); /* maxlon */ + fwrite_single(file_out, 0); /* minlon */ + fwrite_single(file_out, 0); /* maxlat */ + fwrite_single(file_out, 0); /* minlat */ + fwrite_long(file_out, 0); + fwrite_long(file_out, track_count()); /* num tracklog styles */ + fwrite_single(file_out, 0); + fwrite_single(file_out, 0); + fwrite_bool(file_out, 0); + fwrite_bool(file_out, 0); + fwrite_bool(file_out, 0); + fwrite_bool(file_out, 0); + fwrite_bool(file_out, 0); + fwrite_bool(file_out, 0); + fwrite_bool(file_out, 0); + fwrite_bool(file_out, 0); + fwrite_bool(file_out, 0); + fwrite_bool(file_out, 0); + fwrite_string(file_out, "Times New Roman"); + fwrite_string(file_out, ""); + fwrite_string(file_out, ""); + fwrite_string(file_out, ""); /* User Grid and Datum */ - fwrite_null(ofd, 34); - fwrite_integer(ofd, 217); /* WGS84 */ - fwrite_null(ofd, 22); + fwrite_null(file_out, 34); + fwrite_integer(file_out, 217); /* WGS84 */ + fwrite_null(file_out, 22); } static void gtm_wr_deinit(void) { - fclose(ofd); + gbfclose(file_out); } static void @@ -559,54 +479,54 @@ gtm_read(void) /* Image information */ for (i = 0; i != im_count; i++) { - fread_string_discard(fd); - fread_string_discard(fd); - fread_discard(fd, 30); + fread_string_discard(file_in); + fread_string_discard(file_in); + fread_discard(file_in, 30); } /* Waypoints */ for (i = 0; i != wp_count; i++) { wpt = waypt_new(); - wpt->latitude = fread_double(fd); - wpt->longitude = fread_double(fd); + wpt->latitude = fread_double(file_in); + wpt->longitude = fread_double(file_in); convert_datum(&wpt->latitude, &wpt->longitude); - wpt->shortname = fread_fixedstring(fd, 10); - wpt->description = fread_string(fd); - icon = fread_integer(fd); + wpt->shortname = fread_fixedstring(file_in, 10); + wpt->description = fread_string(file_in); + icon = fread_integer(file_in); if (icon < sizeof(icon_descr)/sizeof(char*)) wpt->icon_descr = icon_descr[icon]; - fread_discard(fd, 1); - wpt->creation_time = fread_long(fd); + fread_discard(file_in, 1); + wpt->creation_time = fread_long(file_in); if (wpt->creation_time) wpt->creation_time += EPOCH89DIFF; - fread_discard(fd, 2); - wpt->altitude = fread_single(fd); + fread_discard(file_in, 2); + wpt->altitude = fread_single(file_in); if (wpt->altitude == unknown_alt_gtm) wpt->altitude = unknown_alt; - fread_discard(fd, 2); + fread_discard(file_in, 2); waypt_add(wpt); } /* Waypoint Styles */ if (wp_count) { for (i = 0; i != ws_count; i++) { - fread_discard(fd, 4); - fread_string_discard(fd); - fread_discard(fd, 24); + fread_discard(file_in, 4); + fread_string_discard(file_in); + fread_discard(file_in, 24); } } /* Tracklogs */ for (i = 0; i != tr_count; i++) { wpt = waypt_new(); - wpt->latitude = fread_double(fd); - wpt->longitude = fread_double(fd); + wpt->latitude = fread_double(file_in); + wpt->longitude = fread_double(file_in); convert_datum(&wpt->latitude, &wpt->longitude); - wpt->creation_time = fread_long(fd); + wpt->creation_time = fread_long(file_in); if (wpt->creation_time) wpt->creation_time += EPOCH89DIFF; - start_new = fread_byte(fd); - wpt->altitude = fread_single(fd); + start_new = fread_byte(file_in); + wpt->altitude = fread_single(file_in); if (wpt->altitude == unknown_alt_gtm) wpt->altitude = unknown_alt; if (start_new || !trk_head) { @@ -622,30 +542,30 @@ gtm_read(void) /* Tracklog styles */ trk_head = first_trk_head; for (i = 0; i != ts_count && i != real_tr_count; i++) { - trk_head->rte_name = fread_string(fd); - fread_discard(fd, 12); + trk_head->rte_name = fread_string(file_in); + fread_discard(file_in, 12); trk_head = (route_head *)QUEUE_NEXT(&trk_head->Q); } /* Routes */ for (i = 0; i != rt_count; i++) { wpt = waypt_new(); - wpt->latitude = fread_double(fd); - wpt->longitude = fread_double(fd); + wpt->latitude = fread_double(file_in); + wpt->longitude = fread_double(file_in); convert_datum(&wpt->latitude, &wpt->longitude); - wpt->shortname = fread_fixedstring(fd, 10); - wpt->description = fread_string(fd); - route_name = fread_string(fd); - icon = fread_integer(fd); + wpt->shortname = fread_fixedstring(file_in, 10); + wpt->description = fread_string(file_in); + route_name = fread_string(file_in); + icon = fread_integer(file_in); if (icon < sizeof(icon_descr)/sizeof(char*)) wpt->icon_descr = icon_descr[icon]; - fread_discard(fd, 1); - start_new = fread_byte(fd); - fread_discard(fd, 6); - wpt->altitude = fread_single(fd); + fread_discard(file_in, 1); + start_new = fread_byte(file_in); + fread_discard(file_in, 6); + wpt->altitude = fread_single(file_in); if (wpt->altitude == unknown_alt_gtm) wpt->altitude = unknown_alt; - fread_discard(fd, 2); + fread_discard(file_in, 2); if (start_new || !rte_head) { rte_head = route_head_alloc(); @@ -672,22 +592,22 @@ int icon_from_descr(const char *descr) static void write_waypt(const waypoint *wpt) { - fwrite_double(ofd, wpt->latitude); - fwrite_double(ofd, wpt->longitude); - fwrite_fixedstring(ofd, wpt->shortname, 10); - fwrite_string(ofd, wpt->description); - fwrite_integer(ofd, icon_from_descr(wpt->icon_descr)); - fwrite_byte(ofd, 3); + fwrite_double(file_out, wpt->latitude); + fwrite_double(file_out, wpt->longitude); + fwrite_fixedstring(file_out, wpt->shortname, 10); + fwrite_string(file_out, wpt->description); + fwrite_integer(file_out, icon_from_descr(wpt->icon_descr)); + fwrite_byte(file_out, 3); if (wpt->creation_time) - fwrite_long(ofd, wpt->creation_time-EPOCH89DIFF); + fwrite_long(file_out, wpt->creation_time-EPOCH89DIFF); else - fwrite_long(ofd, 0); - fwrite_integer(ofd, 0); + fwrite_long(file_out, 0); + fwrite_integer(file_out, 0); if (wpt->altitude == unknown_alt) - fwrite_single(ofd, unknown_alt_gtm); + fwrite_single(file_out, unknown_alt_gtm); else - fwrite_single(ofd, wpt->altitude); - fwrite_integer(ofd, 0); + fwrite_single(file_out, wpt->altitude); + fwrite_integer(file_out, 0); } static void start_rte(const route_head *rte) @@ -698,44 +618,44 @@ static void start_rte(const route_head *rte) static void write_trk_waypt(const waypoint *wpt) { - fwrite_double(ofd, wpt->latitude); - fwrite_double(ofd, wpt->longitude); - fwrite_long(ofd, wpt->creation_time-EPOCH89DIFF); - fwrite_byte(ofd, start_new); + fwrite_double(file_out, wpt->latitude); + fwrite_double(file_out, wpt->longitude); + fwrite_long(file_out, wpt->creation_time-EPOCH89DIFF); + fwrite_byte(file_out, start_new); if (wpt->altitude == unknown_alt) - fwrite_single(ofd, unknown_alt_gtm); + fwrite_single(file_out, unknown_alt_gtm); else - fwrite_single(ofd, wpt->altitude); + fwrite_single(file_out, wpt->altitude); start_new = 0; } static void write_trk_style(const route_head *trk) { - fwrite_string(ofd, trk->rte_name); - fwrite_byte(ofd, 1); - fwrite_long(ofd, 0); - fwrite_single(ofd, 0); - fwrite_byte(ofd, 0); - fwrite_integer(ofd, 0); + fwrite_string(file_out, trk->rte_name); + fwrite_byte(file_out, 1); + fwrite_long(file_out, 0); + fwrite_single(file_out, 0); + fwrite_byte(file_out, 0); + fwrite_integer(file_out, 0); } static void write_rte_waypt(const waypoint *wpt) { - fwrite_double(ofd, wpt->latitude); - fwrite_double(ofd, wpt->longitude); - fwrite_fixedstring(ofd, wpt->shortname, 10); - fwrite_string(ofd, wpt->description); - fwrite_string(ofd, rte_active->rte_name); - fwrite_integer(ofd, icon_from_descr(wpt->icon_descr)); - fwrite_byte(ofd, 3); - fwrite_byte(ofd, start_new); - fwrite_long(ofd, 0); - fwrite_integer(ofd, 0); + fwrite_double(file_out, wpt->latitude); + fwrite_double(file_out, wpt->longitude); + fwrite_fixedstring(file_out, wpt->shortname, 10); + fwrite_string(file_out, wpt->description); + fwrite_string(file_out, rte_active->rte_name); + fwrite_integer(file_out, icon_from_descr(wpt->icon_descr)); + fwrite_byte(file_out, 3); + fwrite_byte(file_out, start_new); + fwrite_long(file_out, 0); + fwrite_integer(file_out, 0); if (wpt->altitude == unknown_alt) - fwrite_single(ofd, unknown_alt_gtm); + fwrite_single(file_out, unknown_alt_gtm); else - fwrite_single(ofd, wpt->altitude); - fwrite_integer(ofd, 0); + fwrite_single(file_out, wpt->altitude); + fwrite_integer(file_out, 0); start_new = 0; } @@ -744,7 +664,7 @@ gtm_write(void) { waypt_disp_all(write_waypt); if (waypt_count()) - fwrite(WAYPOINTSTYLES, 1, sizeof(WAYPOINTSTYLES)-1, ofd); + gbfwrite(WAYPOINTSTYLES, 1, sizeof(WAYPOINTSTYLES)-1, file_out); track_disp_all(start_rte, NULL, write_trk_waypt); track_disp_all(write_trk_style, NULL, NULL); route_disp_all(start_rte, NULL, write_rte_waypt); diff --git a/reference/sample.gtm.gz b/reference/sample.gtm.gz new file mode 100644 index 0000000000000000000000000000000000000000..cc3b4043608f0c073cdeab95fd00fd73956d7a83 GIT binary patch literal 56931 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

U!4Q-x6{``SUyF(t!TvflvXjW=l`&! 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 WH?8*GtHoZHYmdmOFt$o-FzA0asiso^ literal 0 HcmV?d00001 diff --git a/testo b/testo index c36e5d26f..4e150b45d 100755 --- a/testo +++ b/testo @@ -94,6 +94,16 @@ ${PNAME} -i gpx -f ${TMPDIR}/gtm1.gpx -o gtm -F ${TMPDIR}/gtm.gtm ${PNAME} -i gtm -f ${TMPDIR}/gtm.gtm -o gpx -F ${TMPDIR}/gtm2.gpx compare ${TMPDIR}/gtm1.gpx ${TMPDIR}/gtm2.gpx bincompare ${TMPDIR}/gtm.gtm ${REFERENCE}/sample.gtm +# +# GTM compressed files +# ... do the same as above but with gzipped gtm files +# +rm -f ${TMPDIR}/gl.gpx ${TMPDIR}/gpx.gpx +${PNAME} -i gtm -f ${REFERENCE}/sample.gtm.gz -o gpx -F ${TMPDIR}/gtm1.gpx +${PNAME} -i gpx -f ${TMPDIR}/gtm1.gpx -o gtm -F ${TMPDIR}/gtm.gtm.gz +${PNAME} -i gtm -f ${TMPDIR}/gtm.gtm.gz -o gpx -F ${TMPDIR}/gtm2.gpx +compare ${TMPDIR}/gtm1.gpx ${TMPDIR}/gtm2.gpx +bincompare ${TMPDIR}/gtm.gtm.gz ${REFERENCE}/sample.gtm.gz # Magellan Mapsend rm -f ${TMPDIR}/mm.mapsend ${TMPDIR}/mm.gps -- 2.30.2